#ifndef __GLOBALS_H
#define __GLOBALS_H

#include <avr/io.h>

#include <util/delay.h>

#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>

// Error return codes
enum ERROR_CODES
{
	INIT_SUCCESS = 0,
	SECTOR_READ_ERROR,
	INVALID_FS_IO_FUNC_PTR,
	INVALID_MBR_SECTOR_SIG,
	INVALID_SECTOR_SIG,
	FS_INIT_READ_SECTOR_AT_LBA_ERROR,
	UNSUPPORTED_SECTOR_BYTE_SIZE_ERROR
};

// END of cluster chain indicator
#define FS_LAST_CHAIN 0x0FFFFFFF

#include "debug.h"

/*
// Workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34734
#ifdef PROGMEM
#undef PROGMEM
#define PROGMEM __attribute__((section(".progmem.data")))
#endif*/

#endif /* __GLOBALS_H */

